package com.zycfc.zsf.boot.redis.command;

import java.util.*;
import redis.clients.jedis.*;

public class JedisClusterBinaryCommand implements RedisBinaryCommand
{
    private final JedisCluster jedisCluster;
    
    public JedisClusterBinaryCommand(final JedisCluster jedisCluster) {
        this.jedisCluster = jedisCluster;
    }
    
    @Override
    public Boolean exists(final byte[] key) {
        return this.jedisCluster.exists(key);
    }
    
    @Override
    public String set(final byte[] key, final byte[] value) {
        return this.jedisCluster.set(key, value);
    }
    
    @Override
    public String setex(final byte[] key, final int expire, final byte[] value) {
        return this.jedisCluster.setex(key, expire, value);
    }
    
    @Override
    public Long setnx(final byte[] key, final byte[] value) {
        return this.jedisCluster.setnx(key, value);
    }
    
    @Override
    public byte[] get(final byte[] key) {
        return this.jedisCluster.get(key);
    }
    
    @Override
    public byte[] getSet(final byte[] key, final byte[] value) {
        return this.jedisCluster.getSet(key, value);
    }
    
    @Override
    public Long del(final byte[] key) {
        return this.jedisCluster.del(key);
    }
    
    @Override
    public Long expire(final byte[] key, final int expire) {
        return this.jedisCluster.expire(key, expire);
    }
    
    @Override
    public Long incr(final byte[] key) {
        return this.jedisCluster.incr(key);
    }
    
    @Override
    public Long incrBy(final byte[] key, final int increment) {
        return this.jedisCluster.incrBy(key, (long)increment);
    }
    
    @Override
    public Long decr(final byte[] key) {
        return this.jedisCluster.decr(key);
    }
    
    @Override
    public Long decrBy(final byte[] key, final int decrement) {
        return this.jedisCluster.decrBy(key, (long)decrement);
    }
    
    @Override
    public Boolean hexists(final byte[] key, final byte[] field) {
        return this.jedisCluster.hexists(key, field);
    }
    
    @Override
    public Long hset(final byte[] key, final byte[] field, final byte[] value) {
        return this.jedisCluster.hset(key, field, value);
    }
    
    @Override
    public Long hsetnx(final byte[] key, final byte[] field, final byte[] value) {
        return this.jedisCluster.hsetnx(key, field, value);
    }
    
    @Override
    public String hmset(final byte[] key, final Map<byte[], byte[]> fieldValues) {
        return this.jedisCluster.hmset(key, (Map)fieldValues);
    }
    
    @Override
    public byte[] hget(final byte[] key, final byte[] field) {
        return this.jedisCluster.hget(key, field);
    }
    
    @Override
    public Map<byte[], byte[]> hgetAll(final byte[] key) {
        return (Map<byte[], byte[]>)this.jedisCluster.hgetAll(key);
    }
    
    @Override
    public List<byte[]> hmget(final byte[] key, final byte[]... field) {
        return (List<byte[]>)this.jedisCluster.hmget(key, field);
    }
    
    @Override
    public Long hdel(final byte[] key, final byte[]... field) {
        return this.jedisCluster.hdel(key, field);
    }
    
    @Override
    public Long hincrBy(final byte[] key, final byte[] field, final int increment) {
        return this.jedisCluster.hincrBy(key, field, (long)increment);
    }
    
    @Override
    public byte[] lpop(final byte[] key) {
        return this.jedisCluster.lpop(key);
    }
    
    @Override
    public byte[] rpop(final byte[] key) {
        return this.jedisCluster.rpop(key);
    }
    
    @Override
    public Long lpush(final byte[] key, final byte[]... value) {
        return this.jedisCluster.lpush(key, value);
    }
    
    @Override
    public Long lpushx(final byte[] key, final byte[]... value) {
        return this.jedisCluster.lpushx(key, value);
    }
    
    @Override
    public Long rpush(final byte[] key, final byte[]... value) {
        return this.jedisCluster.rpush(key, value);
    }
    
    @Override
    public Long rpushx(final byte[] key, final byte[]... value) {
        return this.jedisCluster.rpushx(key, value);
    }
    
    @Override
    public byte[] lindex(final byte[] key, final int index) {
        return this.jedisCluster.lindex(key, (long)index);
    }
    
    @Override
    public Long linsertAfter(final byte[] key, final byte[] pivot, final byte[] value) {
        return this.jedisCluster.linsert(key, BinaryClient.LIST_POSITION.AFTER, pivot, value);
    }
    
    @Override
    public Long linsertBefore(final byte[] key, final byte[] pivot, final byte[] value) {
        return this.jedisCluster.linsert(key, BinaryClient.LIST_POSITION.BEFORE, pivot, value);
    }
    
    @Override
    public Long llen(final byte[] key) {
        return this.jedisCluster.llen(key);
    }
    
    @Override
    public List<byte[]> lrange(final byte[] key, final int start, final int stop) {
        return (List<byte[]>)this.jedisCluster.lrange(key, (long)start, (long)stop);
    }
    
    @Override
    public Long lrem(final byte[] key, final int count, final byte[] value) {
        return this.jedisCluster.lrem(key, (long)count, value);
    }
    
    @Override
    public String lset(final byte[] key, final int index, final byte[] value) {
        return this.jedisCluster.lset(key, (long)index, value);
    }
    
    @Override
    public String ltrim(final byte[] key, final int start, final int stop) {
        return this.jedisCluster.ltrim(key, (long)start, (long)stop);
    }
    
    @Override
    public Long zadd(final byte[] key, final double score, final byte[] member) {
        return this.jedisCluster.zadd(key, score, member);
    }
    
    @Override
    public Long zcount(final byte[] key, final double min, final double max) {
        return this.jedisCluster.zcount(key, min, max);
    }
    
    @Override
    public Set<byte[]> zrange(final byte[] key, final long start, final long end) {
        return (Set<byte[]>)this.jedisCluster.zrange(key, start, end);
    }
    
    @Override
    public Set<Tuple> zrangeWithScores(final byte[] key, final long start, final long end) {
        return (Set<Tuple>)this.jedisCluster.zrangeWithScores(key, start, end);
    }
    
    @Override
    public Set<byte[]> zrangeByScore(final byte[] key, final double start, final double end) {
        return (Set<byte[]>)this.jedisCluster.zrangeByScore(key, start, end);
    }
    
    @Override
    public Set<Tuple> zrangeByScoreWithScores(final byte[] key, final double start, final double stop) {
        return (Set<Tuple>)this.jedisCluster.zrangeByScoreWithScores(key, start, stop);
    }
    
    @Override
    public Long zrem(final byte[] key, final byte[]... member) {
        return this.jedisCluster.zrem(key, member);
    }
    
    @Override
    public Object eval(final byte[] script, final List<byte[]> keys, final List<byte[]> args) {
        return this.jedisCluster.eval(script, (List)keys, (List)args);
    }
    
    @Override
    public Object evalsha(final byte[] sha1, final List<byte[]> keys, final List<byte[]> args) {
        return this.jedisCluster.evalsha(sha1, (List)keys, (List)args);
    }
    
    @Override
    public byte[] scriptLoad(final byte[] script, final byte[] key) {
        return this.jedisCluster.scriptLoad(script, key);
    }
    
    @Override
    public Long sadd(final byte[] key, final byte[]... member) {
        return this.jedisCluster.sadd(key, member);
    }
    
    @Override
    public Long scard(final byte[] key) {
        return this.jedisCluster.scard(key);
    }
    
    @Override
    public boolean sismember(final byte[] key, final byte[] member) {
        return this.jedisCluster.sismember(key, member);
    }
    
    @Override
    public Set<byte[]> smembers(final byte[] key) {
        return (Set<byte[]>)this.jedisCluster.smembers(key);
    }
    
    @Override
    public byte[] spop(final byte[] key) {
        return this.jedisCluster.spop(key);
    }
    
    @Override
    public List<byte[]> srandmember(final byte[] key, final int count) {
        return (List<byte[]>)this.jedisCluster.srandmember(key, count);
    }
    
    @Override
    public byte[] srandmember(final byte[] key) {
        return this.jedisCluster.srandmember(key);
    }
    
    @Override
    public Long srem(final byte[] key, final byte[]... member) {
        return this.jedisCluster.srem(key, member);
    }
    
    @Override
    public Set<byte[]> keys(final byte[] patternKey) {
        return (Set<byte[]>)this.jedisCluster.hkeys(patternKey);
    }
    
    @Override
    public String setNxPx(final byte[] key, final byte[] value, final byte[] nxxx, final byte[] expx, final long time) {
        return this.jedisCluster.set(key, value, nxxx, expx, time);
    }
    
    @Override
    public Long ttl(final byte[] key) {
        return this.jedisCluster.ttl(key);
    }
}
